Field of the Invention
This invention relates, in general, to image processing and, more specifically, to electronic photocopiers and printers which digitally enlarge and reduce an image defined by stored gray-level values.
Image information which is in the form of digital data not only can be stored in electronic memory but can also be processed to change the image which the data represents. Translation of digital images can, therefore, be accomplished by altering the data in memory and/or creating new data from the original data. Such translations are often required when the image is to be enlarged, reduced, rotated, or moved to another location. Electronic copiers, wherein the images to be copied are scanned and stored in memory, can use this technique of altering or translating the image for making copies which are not exactly the same as the original image.
While digital processing of gray-level image data offers numerous options in creating new and different images, the new data can suffer from a decrease in contrast resolution or sharpness in the processed image. This occurs because of the manner in which the processing methods generally used to translate the image data operate upon the data. For example, a well known method of translating data involves the use of interpolation where new pixel values are determined based upon the values of neighboring pixels and the relative location of the new pixel to the neighboring pixels. This technique inherently smooths the high-contrast edges in the original image by creating pixels with values which are between the high and low density values at these edges in the image.
One method for reducing the effects of sharpness reduction in digitally translated images is to use a more sophisticated algorithm or process in developing the new data. When bilinear interpolation is used for such processing, the quadratic nature of the equations used in the process usually causes no significant processing or memory problems in normal applications. However, high order processing, such as cubic processing, begins to approach the limits of conventional hardware to process the data quickly and efficiently enough even though they can offer better sharpness control over bilinear techniques. Therefore, such processing presents other problems which require solutions. U.S. Pat. No. 4,578,812, issued on Mar. 25, 1986, discloses an interpolation system which uses cubic or third order equations to calculate the new pixel values. In order to increase the speed of this process, the necessary devices are implemented in hardware, and the required weight factors used in the computations are calculated prior to the processing and stored in memory for recall during the processing. In this manner, time is not used during data processing to calculate the many weight factors or equation coefficients which are needed in the calculations.
Another technique for improving the sharpness of the new data is to use enhancement processing before or after the new data is created. Pre-processing of the data conditions the data to be processed and can be used to reduce the smoothing produced by such methods as bilinear interpolation. Post-processing can also be used to enhance the edges in the new data. However, post-processing involves a larger amount of data when the image is being enlarged, and this requires large capacity and fast processing in the enhancement portion of the process to be effective and feasible.
U.S. Pat. No. 4,381,547, issued on Apr. 26, 1983, discloses another processing technique whereby the weight coefficients are calculated ahead of the actual processing and stored in memory to improve the speed of the overall process. U.S. Pat. No. 4,611,349, issued on Sept. 9, 1986, discloses an image scaling technique which uses edge detection in the process. Although the technique is defined in relation to a binary, one-bit data representation of the image rather than to gray-level data, the patent does recognize that processing at an edge in an image is important. In this patent, the same type of nearest neighbor processing algorithm is used in the vicinity of an edge, but the data it processes is different. Individual bits are processed at the edges whereas a complete byte of binary data is processed otherwise.
Therefore, it is desirable, and it an object of this invention, to provide a pixel processing system which can maintain the sharpness of an edge in the processed image without the need to use high-order processing equations which involve critical memory and speed considerations in determining if they are efficient and practical.